package com.tripcube.ai.model.dto;

import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.Max;

@Data
@Schema(description = "知识库检索请求")
public class KnowledgeRetrievalDTO {

    @Schema(description = "检索查询内容")
    @NotBlank(message = "检索查询内容不能为空")
    private String query;

    @Schema(description = "知识库ID")
    @NotBlank(message = "知识库ID不能为空")
    private String knowledgeBaseId;

    @Schema(description = "返回结果数量", defaultValue = "5")
    @Min(value = 1, message = "返回结果数量至少为1")
    @Max(value = 20, message = "返回结果数量最多为20")
    private Integer topK = 5;
}